package com.hospital.register.vo.core.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@ApiModel(value = "封装多天的排班数据")
@Data
public class ScheduleDaysVo implements Serializable {

    @ApiModelProperty(value = "总数")
    private Byte total;

    @ApiModelProperty(value = "其它信息")
    private DepartmentInfo baseMap;

    @ApiModelProperty(value = "多天的排班数据")
    private List<ScheduleDayVo> bookingScheduleRuleList;

    @ApiModelProperty(value = "多天的排班数据", notes = "与上一个字段作用相同，只是不同接口称呼不一样")
    private List<ScheduleDayVo> bookingScheduleList;

    public ScheduleDaysVo() {
    }

    /**
     * 构造器
     *
     * @param hosname      医院名称
     * @param scheduleList 多天的排班数据
     * @param total        排班的天数
     */
    public ScheduleDaysVo(String hosname, Byte total, List<ScheduleDayVo> scheduleList) {
        this.setBaseMap(new DepartmentInfo());
        this.getBaseMap().setHosname(hosname);

        this.setTotal(total);
        this.setBookingScheduleRuleList(scheduleList);
        this.setBookingScheduleList(scheduleList);
    }


    @ApiModel(value = "医院基本信息")
    @Data
    public static class DepartmentInfo implements Serializable {

        @ApiModelProperty(value = "所属医院的名称")
        private String hosname;

        @ApiModelProperty("大科室名称")
        private String bigname;

        @ApiModelProperty("科室名称")
        private String depname;

        @ApiModelProperty("这是哪个月的数据")
        private String workDateString;

        @ApiModelProperty("放号时间")
        private String releaseTime;

        @ApiModelProperty("停号时间")
        private String stopTime;
    }

}
